package com.ruoyi.vbze.domain;

import java.math.BigDecimal;
import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 地块管理对象 block
 * 
 * @author vbze
 * @date 2023-02-22
 */
public class Block extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 地块id */
    private Long id;

    /** 地块编号 */
    @Excel(name = "地块编号")
    private String blockNumber;

    /** 所属大田编号 */
    @Excel(name = "所属大田编号")
    private String fieldNumber;

    /** 创建人 */
    private String creator;

    /** 地块产量 */
    @Excel(name = "地块产量")
    private BigDecimal blockYield;

    /** 株数 */
    @Excel(name = "株数")
    private Long plantCount;

    /** 吐絮数 */
    @Excel(name = "吐絮数")
    private Integer openings;

    /** 铃数 */
    @Excel(name = "铃数")
    private Integer bolls;

    /** 比叶重 */
    @Excel(name = "比叶重")
    private BigDecimal specificLeafWeight;

    /** 叶面积指数LAI */
    @Excel(name = "叶面积指数LAI")
    private BigDecimal lai;

    /** 测量日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "测量日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date measurementDate;

    /** 籽棉重量 */
    @Excel(name = "籽棉重量")
    private BigDecimal unginnedCottonWeight;

    /** 测产位置 */
    @Excel(name = "测产位置")
    private String place;

    /** 测产日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "测产日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date yieldMeasurementDate;

    /** 棉花品种 */
    @Excel(name = "棉花品种")
    private String variety;

    /** 最后修改人 */
    private String lastEditor;

    /** 最后修改时间 */
    private Date lastEditTime;

    /** 地块备注 */
    @Excel(name = "地块备注")
    private String description;

    /** 植株管理信息 */
    private List<Plant> plantList;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setBlockNumber(String blockNumber) 
    {
        this.blockNumber = blockNumber;
    }

    public String getBlockNumber() 
    {
        return blockNumber;
    }
    public void setFieldNumber(String fieldNumber) 
    {
        this.fieldNumber = fieldNumber;
    }

    public String getFieldNumber() 
    {
        return fieldNumber;
    }
    public void setCreator(String creator) 
    {
        this.creator = creator;
    }

    public String getCreator() 
    {
        return creator;
    }
    public void setBlockYield(BigDecimal blockYield) 
    {
        this.blockYield = blockYield;
    }

    public BigDecimal getBlockYield() 
    {
        return blockYield;
    }
    public void setPlantCount(Long plantCount) 
    {
        this.plantCount = plantCount;
    }

    public Long getPlantCount() 
    {
        return plantCount;
    }
    public void setOpenings(Integer openings) 
    {
        this.openings = openings;
    }

    public Integer getOpenings() 
    {
        return openings;
    }
    public void setBolls(Integer bolls) 
    {
        this.bolls = bolls;
    }

    public Integer getBolls() 
    {
        return bolls;
    }
    public void setSpecificLeafWeight(BigDecimal specificLeafWeight)
    {
        this.specificLeafWeight = specificLeafWeight;
    }

    public BigDecimal getSpecificLeafWeight()
    {
        return specificLeafWeight;
    }
    public void setLai(BigDecimal lai)
    {
        this.lai = lai;
    }

    public BigDecimal getLai()
    {
        return lai;
    }
    public void setMeasurementDate(Date measurementDate)
    {
        this.measurementDate = measurementDate;
    }

    public Date getMeasurementDate()
    {
        return measurementDate;
    }
    public void setUnginnedCottonWeight(BigDecimal unginnedCottonWeight)
    {
        this.unginnedCottonWeight = unginnedCottonWeight;
    }

    public BigDecimal getUnginnedCottonWeight() 
    {
        return unginnedCottonWeight;
    }
    public void setPlace(String place)
    {
        this.place = place;
    }

    public String getPlace()
    {
        return place;
    }
    public void setYieldMeasurementDate(Date yieldMeasurementDate)
    {
        this.yieldMeasurementDate = yieldMeasurementDate;
    }

    public Date getYieldMeasurementDate()
    {
        return yieldMeasurementDate;
    }
    public void setVariety(String variety)
    {
        this.variety = variety;
    }

    public String getVariety() 
    {
        return variety;
    }
    public void setLastEditor(String lastEditor) 
    {
        this.lastEditor = lastEditor;
    }

    public String getLastEditor() 
    {
        return lastEditor;
    }
    public void setLastEditTime(Date lastEditTime) 
    {
        this.lastEditTime = lastEditTime;
    }

    public Date getLastEditTime() 
    {
        return lastEditTime;
    }
    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }

    public List<Plant> getPlantList()
    {
        return plantList;
    }

    public void setPlantList(List<Plant> plantList)
    {
        this.plantList = plantList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("blockNumber", getBlockNumber())
            .append("fieldNumber", getFieldNumber())
            .append("creator", getCreator())
            .append("createTime", getCreateTime())
            .append("blockYield", getBlockYield())
            .append("plantCount", getPlantCount())
            .append("openings", getOpenings())
            .append("bolls", getBolls())
            .append("specificLeafWeight", getSpecificLeafWeight())
            .append("lai", getLai())
            .append("measurementDate", getMeasurementDate())
            .append("unginnedCottonWeight", getUnginnedCottonWeight())
            .append("place", getPlace())
            .append("yieldMeasurementDate", getYieldMeasurementDate())
            .append("variety", getVariety())
            .append("lastEditor", getLastEditor())
            .append("lastEditTime", getLastEditTime())
            .append("description", getDescription())
            .append("plantList", getPlantList())
            .toString();
    }
}
